package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 账户明细（收入/支出）对象 biz_account_detail
 * 
 * @author ruoyi
 * @date 2025-07-01
 */
public class BizAccountDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Integer id;

    /** 配送员ID */
    private Integer riderId;

    /** 明细类型 1-收入 2-支出 */
    private Integer detailType;

    /** 收支类型（配送薪资、奖励提成、提现） */
    @Excel(name = "收支类型", readConverterExp = "配=送薪资、奖励提成、提现")
    private String incomeExpenseType;

    /** 账户类型（账户余额等） */
    @Excel(name = "账户类型", readConverterExp = "账=户余额等")
    private String accountType;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal amount;

    /** 状态（已入账、提现成功等） */
    @Excel(name = "状态", readConverterExp = "已=入账、提现成功等")
    private String status;

    /** 发生时间 */
    private Date occurTime;

    public void setId(Integer id) 
    {
        this.id = id;
    }

    public Integer getId() 
    {
        return id;
    }

    public void setRiderId(Integer riderId) 
    {
        this.riderId = riderId;
    }

    public Integer getRiderId() 
    {
        return riderId;
    }

    public void setDetailType(Integer detailType) 
    {
        this.detailType = detailType;
    }

    public Integer getDetailType() 
    {
        return detailType;
    }

    public void setIncomeExpenseType(String incomeExpenseType) 
    {
        this.incomeExpenseType = incomeExpenseType;
    }

    public String getIncomeExpenseType() 
    {
        return incomeExpenseType;
    }

    public void setAccountType(String accountType) 
    {
        this.accountType = accountType;
    }

    public String getAccountType() 
    {
        return accountType;
    }

    public void setAmount(BigDecimal amount) 
    {
        this.amount = amount;
    }

    public BigDecimal getAmount() 
    {
        return amount;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setOccurTime(Date occurTime) 
    {
        this.occurTime = occurTime;
    }

    public Date getOccurTime() 
    {
        return occurTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("riderId", getRiderId())
            .append("detailType", getDetailType())
            .append("incomeExpenseType", getIncomeExpenseType())
            .append("accountType", getAccountType())
            .append("amount", getAmount())
            .append("status", getStatus())
            .append("occurTime", getOccurTime())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
